import { SystemInfoProps, UserInfoProps } from '@/utils/interface'

/**菜单展示的各种权限控制*/
export interface MetaProps {
	/**该角色登录下，可展示出来该菜单项 ，不配置则认为任何角色都可以展示该菜单*/
	roles: string[]
	/**该菜单依赖的环境设备能力，表示该能力下才展示，默认不传env，不受环境能力限制 */
	env?: string[]
	/**该菜单依赖的用户能力，表示该能力下才展示，默认不传user，不受环境能力限制 */
	userEnable?: string[]
}
/**路由配置项 */
export interface SidebarRouterProps {
	/**菜单需要的唯一标识 */
	id: string
	/**路径 */
	path: string
	/**是否默认高亮 */
	defaultSubActive?: boolean
	/**菜单前的图标 */
	icon?: any
	/**是否需要展示在菜单里,默认true，可通过权限等自行配置是否false */
	isShowInMenus?: boolean
	/**标题 */
	title: string
	/**渲染的组件页面 */
	element?: any
	/**子路由页面 */
	children?: SidebarRouterProps[]
	/**菜单展示的各种权限控制,不传则不受控制，一直展示*/
	meta?: MetaProps
}
export interface CurrentEnvEnableProps {
	[key: string]: boolean
}
export interface UseMenusHookProps {
	userInfo: UserInfoProps
	systemInfo: SystemInfoProps
}
